//
//  CZBaseTableViewController.swift
//  weibo
//
//  Created by Mac on 16/5/11.
//  Copyright © 2016年 fengzhixiang. All rights reserved.
//

import UIKit

/// 根据用户使用登录显示不同的界面(1.tableView 2.显示自定义的访客视图)
class CZBaseTableViewController: UITableViewController {
    var userLogin: Bool = CZUserAccountViewModel.shareInstanse.isUserLogin

    override func loadView() {
        if userLogin {
            //按正常显示
            super.loadView()
        } else {
            //用户没有登录
            view = vistorView

            //5设置孔子去为visitorView的代理
            vistorView.delegate = self

            //根据不同的控制器设置不同的访客视图内容,我们创建的都是子类self是子类类型
            if self is CZHomeViewController {
                vistorView.startRotationAnimation()
            }else if self is CZMessageViewController{
                vistorView.setupVisitorInfo("visitordiscover_image_message", message: "登录后，别人评论你的微博，发给你的消息，都会在这里收到通知")
            }else if self is CZDisoverViewController{
                vistorView.setupVisitorInfo("visitordiscover_image_message", message: "登录后，最新、最热微博尽在掌握，不再会与实事潮流擦肩而过")
            }else if self is CZProfileViewController{
                vistorView.setupVisitorInfo("visitordiscover_image_profile", message: "登录后，你的微博、相册、个人资料会显示在这里，展示给别人")
                
            }

            //设置导航栏按钮
            //导航栏上面显示的内容不是导航栏控制器决定的,是根据导航控制器正在显示的子控制器来确定的
            self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewDidClickRegister")
            self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", style: UIBarButtonItemStyle.Plain, target: self, action: "visitorViewDidClickLogin")


        }
    }

    // MARK - 懒加载
    /**
    *  访客视图(为CZVisitorView类型)
    */
    private lazy var vistorView: CZVisitorView = CZVisitorView()

}

// MARK: - 扩展
// 扩展对象实现协议: 可以将一个协议对应的代码写在一起
// 6控制器遵守CZCVisitorViewDelegate协议
extension CZBaseTableViewController: CZVisitorViewDelegate{
    //7实现协议的方法
    func visitorViewDidClickLogin() {
        //modal出授权控制器界面
        let oauthVC = CZOauthViewController()
        //包多一层UINavigationController
        let nav = UINavigationController(rootViewController: oauthVC)
        self.presentViewController(nav, animated: true, completion: nil)

    }
    func visitorViewDidClickRegister() {
        print("visitorViewDidClickRegister")
    }
}











